package com.frx.extra;

import java.util.Arrays;
import java.util.List;

/**
 * Created by xurenfeng on 2019/2/14.
 * Arrays.asList
 */
public class AsListTest {
    public static void main(String[] args){

        int [] a_int = {1,2,3,4};
        List a_int_list = Arrays.asList(a_int);
        // 对于基本数据类型，实际输出的是一个引用，这里把a_int当作一个元素
        for(Object o : a_int_list){
            System.out.println(o);
        }
        int [] a_list = (int[]) a_int_list.get(0);
        for (int i : a_list){
            System.out.print(i + " ");
        }
        System.out.println();
        System.out.println("------------");

        // 对对象类型的数组使用 asList，得到预期结果
        Integer[] a_Integer = new Integer[]{1,2,3,4};
        List<Integer> a_Integer_list = Arrays.asList(a_Integer);
        for (Integer i : a_Integer_list){
            System.out.print(i + " ");
        }
        System.out.println();
        System.out.println("------------");

        // 当更新数组或asList之后的list 另一个将会自动更新
        a_Integer[0] = 0;
        for (Integer i : a_Integer_list){
            System.out.print(i + " ");
        }
        System.out.println();
        System.out.println("------------");
        a_Integer_list.set(1,0);
        for (Integer i : a_Integer){
            System.out.print(i + " ");
        }
        System.out.println();
        System.out.println("------------");

        // asList得到的数组列表是没有add和remove方法的
    }
}
